/**
 * 自动更新配置文件
 * 用于管理更新相关的设置和常量
 */

const updateConfig = {
  // 更新检查配置
  checkInterval: 1000 * 60 * 60 * 24, // 24小时检查一次
  startupDelay: 3000, // 启动后延迟3秒检查更新
  
  // 更新服务器配置
  updateServer: {    
    // 自定义服务器配置（可选）
    custom: {
      url: 'http://192.168.3.54:8848/pm-updates',
    }
  },
  
  // 更新策略配置
  strategy: {
    autoDownload: false, // 不自动下载，让用户选择
    autoInstallOnQuit: true, // 退出时自动安装
    allowDowngrade: true, // 允许降级
    allowPrerelease: false, // 不允许预发布版本
    requestHeaders: {},
    timeout: 30000, // 增加超时时间到30秒
    downloadPath: null, // 下载路径，null表示使用默认路径（用户数据目录下的updates文件夹）
    autoCleanupFiles: true // 安装完成后自动清理下载的更新文件
  },
  
  // 用户界面配置
  ui: {
    showUpdateDialog: true, // 显示更新对话框
    showInstallDialog: false, // 不显示安装对话框，直接安装
    allowSkipVersion: false, // 不允许跳过版本
    allowRemindLater: true, // 允许稍后提醒
    dialogTimeout: 30000 // 对话框超时时间（毫秒）
  },
  
  // 日志配置
  logging: {
    enabled: true,
    level: 'info', // debug, info, warn, error
    file: 'update.log'
  },
  
  // 错误处理配置
  errorHandling: {
    maxRetries: 3, // 增加重试次数
    retryDelay: 5000, // 增加重试延迟到5秒
    showErrorDialog: false, // 不显示错误对话框，避免阻塞启动
    silentFail: true // 静默失败，不影响应用启动
  },
  
  // 版本管理
  version: {
    current: '1.0.7',
    minSupported: '1.0.0', // 最低支持版本
    forceUpdate: false // 是否强制更新
  }
};

// 开发环境配置
if (process.env.NODE_ENV === 'development') {
  updateConfig.strategy.autoDownload = false;
  updateConfig.ui.showUpdateDialog = false;
  updateConfig.logging.level = 'debug';
}

// 生产环境配置
if (process.env.NODE_ENV === 'production') {
  updateConfig.strategy.autoDownload = false;
  updateConfig.ui.showUpdateDialog = true;
  updateConfig.logging.level = 'info';
}

module.exports = updateConfig; 